import {Pipe, PipeTransform, Inject} from '@angular/core';
@Pipe({
  name:"imageUrl"
})
export class ImageUrlPipe implements PipeTransform{
  static httpValidator=new RegExp("http");
  constructor(@Inject("image_base_url")private imageBase:string){

  }
  transform(url:string,prefix?:string,defaultImg:string=""):string{
    if(!prefix){
      if(!this.imageBase) throw new Error("既没有设置图片默认存储位置，也没有为管道指定要使用的图片存储位置！");
      prefix=this.imageBase;
    }
    if(!ImageUrlPipe.httpValidator.test(prefix)) throw new Error("图片存储位置url前缀应该以http开头");
    if(prefix.charAt(prefix.length-1)!="/") prefix=prefix+"/";
    //if(!str.test(defaultImg)) defaultImg=prefix+defaultImg;
    if(!url) return defaultImg;
    if(ImageUrlPipe.httpValidator.test(url)){
      return url;
    }else{
      return prefix+url;
    }
  }
}
